package model

import (
	"fmt"
	"gitee.com/liumou_site/gf"
	"gitee.com/liumou_site/logger"
	"github.com/BurntSushi/toml"
	"os"
)

// ConfigGet 从配置文件中读取并解析配置信息。
// 该函数首先检查配置文件是否存在，如果不存在则记录错误并退出程序。
// 如果配置文件存在，则尝试将其解析为 TOML 格式，并将解析结果存储到 Login 结构体的 Domain 字段中。
// 如果解析过程中发生错误，则记录错误并退出程序。
func (l *Login) ConfigGet() {
	// 创建一个新的文件对象，用于检查配置文件是否存在
	f := gf.NewFile(l.ConfigFile)
	f.IsFile()

	// 检查配置文件是否存在，如果不存在则记录错误并退出程序
	if !f.IsFiles {
		logger.Error(fmt.Sprintf("找不到配置文件: %s", l.ConfigFile))
		os.Exit(2)
	}

	// 尝试解析配置文件为 TOML 格式，并将结果存储到 Login 结构体的 Domain 字段中
	if _, err := toml.DecodeFile(l.ConfigFile, &l.Domain); err != nil {
		logger.Error("配置文件解析错误: ", err)
		os.Exit(3)
	}
}
